package com.example.warehouse.sys.service;

import com.example.warehouse.common.pojo.vo.PageData;
import com.example.warehouse.common.security.CurrentPrincipal;
import com.example.warehouse.sys.pojo.entity.SysNotice;
import com.example.warehouse.sys.pojo.param.AddNewNoticeParam;
import com.example.warehouse.sys.pojo.vo.*;
import com.mysql.cj.protocol.x.Notice;
import org.springframework.transaction.annotation.Transactional;


@Transactional
public interface INoticeService {
    //发布通知
    void addNew(CurrentPrincipal currentPrincipal, AddNewNoticeParam addNewNoticeParam);


    //删除通知
    void delete(Long id);

    NoticeStandardVO getStandardById(Long id);

    NoticeStandardVO getStandardByNotice(NoticeSelectVO notice);

    /**
     * 查询标签列表，将使用默认的每页记录数
     *
     * @param pageNum 页码
     * @return 查询标签列表
     */
    PageData<NoticeListItemVO> list(Integer pageNum);


    /**
     * 查询标签列表
     *
     * @param pageNum  页码
     * @param pageSize 每页记录数
     * @return 标签列表
     */
    PageData<NoticeListItemVO> list(Integer pageNum, Integer pageSize);

    PageData<NoticeListItemVO> list(NoticeSelectVO notice,Integer pageNum);
    PageData<NoticeListItemVO> list(NoticeSelectVO notice,Integer pageNum, Integer pageSize);


}
